﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Windows.Forms;

public partial class Pages_Default2 : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
       
    }

    protected string mensaje(string mensaje, string titulo, MessageBoxButtons botones, MessageBoxIcon icono)
    {
        DialogResult resultado = MessageBox.Show(mensaje, titulo, botones, icono);
        if (resultado == DialogResult.Yes) return "yes";
        else if (resultado == DialogResult.No) return "no";
        else return "otro";
    }

    protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {
    ClientesBLL clientebll = new ClientesBLL();
    AgentesBLL agentebll = new AgentesBLL();

    // si es cliente
    if (clientebll.getCliente(Login1.UserName).Count > 0)
    {
        if (autenticar(Login1.UserName,"cliente",Login1.Password))
        {
            e.Authenticated = true;
            crearCookie("clienteLogged", Login1.UserName, "CTE_inicio.aspx");
        }
    }
    // si es agente
    else
    {
        if (agentebll.getAgente(Login1.UserName).Count > 0)
        {
            if (autenticar(Login1.UserName, "agente", Login1.Password))
            {
                e.Authenticated = true;
                if (Login1.UserName.StartsWith("admin")) crearCookie("adminLogged", Login1.UserName, "ADM_inicio.aspx");
                else crearCookie("agenteLogged", Login1.UserName, "AGT_inicio.aspx");
            }
        }
    }

}

    private bool autenticar(string nombreUsuario, string tipo, string pass)
    {
        bool respuesta = false;

        if (tipo == "agente")
        {
            AgentesBLL agentebll = new AgentesBLL();
            DataSetCarpay.AGENTEDataTable dt = agentebll.getAgente(nombreUsuario);
            if (dt.Rows.Count > 0)
            {
                if (pass == dt.Rows[0][dt.PASS_AGENTEColumn].ToString().Trim()) respuesta = true;
                else respuesta = false;
            }
            else respuesta = false;
        }
        else if (tipo == "cliente")
        {
            ClientesBLL clientebll = new ClientesBLL();
            DataSetCarpay.CLIENTEDataTable dt = clientebll.getCliente(nombreUsuario);
            if (dt.Rows.Count > 0)
            {
                if (pass == dt.Rows[0][dt.PASS_CLIENTEColumn].ToString().Trim()) respuesta = true;
                else respuesta = false;
            }
            else respuesta = false;
        }

        return respuesta;
    }

    private void crearCookie(string nombre, string valor, string paginaDireccionar){
        HttpCookie cookie = new HttpCookie(nombre);
        cookie.Value = valor;
        Response.Cookies.Add(cookie);
        Response.Redirect(paginaDireccionar);
    }

}